<template>
  <div class="model-detail">
    <!-- 使用 NavBar 组件并保持原有样式 -->
    <NavBar
      :is-logged-in="isLoggedIn"
      @login="handleLogin"
      @go-to-console="goToConsole"
      @toggle-theme="toggleTheme"
      :theme-icon="themeIcon"
    />

    <!-- 面包屑导航 -->
    <div class="breadcrumb">
      <div class="breadcrumb-content">
        <router-link to="/model-intro/language" class="breadcrumb-link">
          <svg width="16" height="16" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
            <path d="M19 12H5M12 19l-7-7 7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
          </svg>
          返回模型列表
        </router-link>
        <span class="breadcrumb-separator">/</span>
        <span class="breadcrumb-current">{{ currentModel.name }}</span>
      </div>
    </div>

    <!-- 模型详情主体 -->
    <div class="detail-content" v-if="currentModel">
      <!-- 模型头部信息 -->
      <div class="model-header-section">
        <div class="model-basic-info">
          <!-- 修改的Logo部分：支持图片和文字两种显示方式 -->
          <div v-if="currentModel.logoPath" class="model-logo-image">
            <img :src="currentModel.logoPath" :alt="currentModel.name" />
          </div>
          <div v-else class="model-logo" :class="getLogoColorClass(currentModel.id)">
            {{ currentModel.logo }}
          </div>
          <div class="model-title-section">
            <h1 class="model-name">{{ currentModel.name }}</h1>
            <div class="model-meta">
              <span class="model-type-tag">{{ currentModel.modelType }}</span>
              <span class="category-tag">{{ currentModel.type }}</span>
              <span v-if="currentModel.supportDeployment" class="deployment-tag">
                <svg width="12" height="12" viewBox="0 0 24 24" fill="currentColor">
                  <path d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"/>
                </svg>
                支持部署
              </span>
            </div>

          </div>
        </div>
        <div class="header-actions">
          <button class="primary-button" @click="handleDeploy">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
              <path d="M10.3246 4.31731C10.751 2.5609 13.249 2.5609 13.6754 4.31731C13.9508 5.45193 15.2507 5.99038 16.2478 5.38285C17.7913 4.44239 19.5576 6.2087 18.6172 7.75218C18.0096 8.74925 18.5481 10.0492 19.6827 10.3246C21.4391 10.751 21.4391 13.249 19.6827 13.6754C18.5481 13.9508 18.0096 15.2507 18.6172 16.2478C19.5576 17.7913 17.7913 19.5576 16.2478 18.6172C15.2507 18.0096 13.9508 18.5481 13.6754 19.6827C13.249 21.4391 10.751 21.4391 10.3246 19.6827C10.0492 18.5481 8.74926 18.0096 7.75219 18.6172C6.2087 19.5576 4.44239 17.7913 5.38285 16.2478C5.99038 15.2507 5.45193 13.9508 4.31731 13.6754C2.5609 13.249 2.5609 10.751 4.31731 10.3246C5.45193 10.0492 5.99038 8.74926 5.38285 7.75218C4.44239 6.2087 6.2087 4.44239 7.75219 5.38285C8.74926 5.99038 10.0492 5.45193 10.3246 4.31731Z"/>
              <path d="M15 12C15 13.6569 13.6569 15 12 15C10.3431 15 9 13.6569 9 12C9 10.3431 10.3431 9 12 9C13.6569 9 15 10.3431 15 12Z"/>
            </svg>
            立即部署
          </button>

        </div>
      </div>

      <!-- 模型详情内容 -->
      <div class="detail-body-full">
        <!-- 模型简介与特点合并部分 -->
        <div class="detail-section">
          <h2 class="section-title">模型简介与特点</h2>
          <div class="intro-features-grid">
            <div class="intro-card">
              <div class="intro-header">
                <div class="intro-icon">
                  <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                    <path d="M12 14l9-5-9-5-9 5 9 5z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
                    <path d="M12 14l9-5-9-5-9 5 9 5z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.7"/>
                    <path d="M12 14v6l9-5M12 14v6l-9-5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.7"/>
                  </svg>
                </div>
                <h3>模型简介</h3>
              </div>
              <div class="intro-content">
                <p class="model-introduction">{{ getModelIntroduction(currentModel.id) }}</p>

                <div class="model-stats">
                  <div class="stat-item">
                    <div class="stat-value">{{ getModelRating(currentModel.id) }}/5</div>
                    <div class="stat-label">综合评分</div>
                  </div>
                  <div class="stat-item">
                    <div class="stat-value">{{ getModelAccuracy(currentModel.id) }}%</div>
                    <div class="stat-label">准确率</div>
                  </div>
                  <div class="stat-item">
                    <div class="stat-value">{{ getModelResponseTime(currentModel.id) }}</div>
                    <div class="stat-label">平均响应</div>
                  </div>
                </div>
              </div>
            </div>

            <div class="features-card">
              <div class="features-header">
                <div class="features-icon">
                  <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                    <path d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
                  </svg>
                </div>
                <h3>核心特点</h3>
              </div>
              <div class="features-content">
                <div v-for="(feature, index) in getModelFeatures(currentModel.id)" :key="index" class="feature-item">
                  <div class="feature-icon">
                    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                      <path d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" stroke="#10B981" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
                    </svg>
                  </div>
                  <div class="feature-text">
                    <span class="feature-title">{{ feature.title }}</span>
                    <span class="feature-desc">{{ feature.description }}</span>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>

        <!-- 性能指标 -->
        <div class="detail-section">
          <h2 class="section-title">性能指标</h2>
          <div class="performance-metrics">
            <div class="metric-card">
              <div class="metric-header">
                <div class="metric-icon accuracy">A</div>
                <span class="metric-title">准确率</span>
              </div>
              <div class="metric-value">{{ getModelAccuracy(currentModel.id) }}%</div>
              <div class="metric-chart">
                <div class="chart-bar">
                  <div class="chart-fill" :style="{ width: getModelAccuracy(currentModel.id) + '%' }"></div>
                </div>
              </div>
              <div class="metric-comparison">优于行业平均 {{ getIndustryComparison(currentModel.id) }}%</div>
            </div>

            <div class="metric-card">
              <div class="metric-header">
                <div class="metric-icon speed">S</div>
                <span class="metric-title">推理速度</span>
              </div>
              <div class="metric-value">{{ getModelResponseTime(currentModel.id) }}</div>
              <div class="metric-chart">
                <div class="chart-bar">
                  <div class="chart-fill" :style="{ width: getSpeedPercentage(currentModel.id) + '%' }"></div>
                </div>
              </div>
              <div class="metric-comparison">比上一代快 {{ getSpeedImprovement(currentModel.id) }}%</div>
            </div>

            <div class="metric-card">
              <div class="metric-header">
                <div class="metric-icon efficiency">E</div>
                <span class="metric-title">资源效率</span>
              </div>
              <div class="metric-value">{{ getEfficiencyRating(currentModel.id) }}%</div>
              <div class="metric-chart">
                <div class="chart-bar">
                  <div class="chart-fill" :style="{ width: getEfficiencyRating(currentModel.id) + '%' }"></div>
                </div>
              </div>
              <div class="metric-comparison">GPU利用率优化</div>
            </div>

            <div class="metric-card">
              <div class="metric-header">
                <div class="metric-icon scalability">S</div>
                <span class="metric-title">可扩展性</span>
              </div>
              <div class="metric-value">{{ getScalabilityLevel(currentModel.id) }}</div>
              <div class="metric-chart">
                <div class="chart-bar">
                  <div class="chart-fill" :style="{ width: getScalabilityPercentage(currentModel.id) + '%' }"></div>
                </div>
              </div>
              <div class="metric-comparison">{{ getScalabilityDescription(currentModel.id) }}</div>
            </div>
          </div>
        </div>

        <!-- 使用场景 -->
        <div class="detail-section">
          <h2 class="section-title">使用场景</h2>
          <div class="scenarios-grid">
            <div v-for="scenario in currentModel.scenarios" :key="scenario" class="scenario-card">
              <div class="scenario-icon">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                  <path d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
                </svg>
              </div>
              <span class="scenario-text">{{ scenario }}</span>
            </div>
          </div>
        </div>

        <!-- 技术架构 -->
        <div class="detail-section">
          <h2 class="section-title">技术架构</h2>
          <div class="architecture-content">
            <p>{{ getArchitectureDescription(currentModel.id) }}</p>
            <div class="architecture-tags">
              <span v-for="tech in getTechnologies(currentModel.id)" :key="tech" class="tech-tag">{{ tech }}</span>
            </div>
          </div>
        </div>

        <!-- 模型用法过程图例 -->
        <div class="detail-section">
          <h2 class="section-title">模型用法过程图例</h2>
          <div class="process-flow-horizontal">
            <div class="process-step-horizontal" v-for="step in processSteps" :key="step.id">
              <div class="step-number-horizontal">{{ step.id }}</div>
              <div class="step-content-horizontal">
                <h3 class="step-title-horizontal">{{ step.title }}</h3>
                <p class="step-description-horizontal">{{ step.description }}</p>
              </div>
              <div class="step-connector" v-if="step.id < processSteps.length">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                  <path d="M9 18l6-6-6-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
                </svg>
              </div>
            </div>
          </div>
        </div>

        <!-- 模型所需设备参数 -->
        <div class="detail-section">
          <h2 class="section-title">模型所需设备参数</h2>
          <div class="hardware-requirements">
            <div class="requirement-category">
              <h3>最低配置</h3>
              <div class="req-items">
                <div class="req-item">
                  <span class="req-label">GPU内存</span>
                  <span class="req-value">{{ getMinGPURequirement(currentModel.id) }}</span>
                </div>
                <div class="req-item">
                  <span class="req-label">CPU核心</span>
                  <span class="req-value">{{ getMinCPURequirement(currentModel.id) }}</span>
                </div>
                <div class="req-item">
                  <span class="req-label">系统内存</span>
                  <span class="req-value">{{ getMinMemoryRequirement(currentModel.id) }}</span>
                </div>
              </div>
            </div>

            <div class="requirement-category">
              <h3>推荐配置</h3>
              <div class="req-items">
                <div class="req-item">
                  <span class="req-label">GPU内存</span>
                  <span class="req-value">{{ getRecommendedGPURequirement(currentModel.id) }}</span>
                </div>
                <div class="req-item">
                  <span class="req-label">CPU核心</span>
                  <span class="req-value">{{ getRecommendedCPURequirement(currentModel.id) }}</span>
                </div>
                <div class="req-item">
                  <span class="req-label">系统内存</span>
                  <span class="req-value">{{ getRecommendedMemoryRequirement(currentModel.id) }}</span>
                </div>
              </div>
            </div>

            <div class="requirement-category">
              <h3>高性能配置</h3>
              <div class="req-items">
                <div class="req-item">
                  <span class="req-label">GPU内存</span>
                  <span class="req-value">{{ getHighEndGPURequirement(currentModel.id) }}</span>
                </div>
                <div class="req-item">
                  <span class="req-label">CPU核心</span>
                  <span class="req-value">{{ getHighEndCPURequirement(currentModel.id) }}</span>
                </div>
                <div class="req-item">
                  <span class="req-label">系统内存</span>
                  <span class="req-value">{{ getHighEndMemoryRequirement(currentModel.id) }}</span>
                </div>
              </div>
            </div>
          </div>
        </div>

        <!-- 需要使用的数据集 -->
        <div class="detail-section">
          <h2 class="section-title">需要使用的数据集</h2>
          <div class="dataset-table-container">
            <table class="dataset-table">
              <thead>
              <tr>
                <th>数据集名称</th>
                <th>描述</th>
                <th>样本数量</th>
                <th>数据格式</th>
                <th>是否公开</th>
              </tr>
              </thead>
              <tbody>
              <tr v-for="dataset in getDatasets(currentModel.id)" :key="dataset.name">
                <td class="dataset-name">{{ dataset.name }}</td>
                <td class="dataset-description">{{ dataset.description }}</td>
                <td class="dataset-samples">{{ dataset.samples }}</td>
                <td class="dataset-format">{{ dataset.format }}</td>
                <td class="dataset-public">
                    <span :class="['public-badge', dataset.public ? 'public' : 'private']">
                      {{ dataset.public ? '公开' : '私有' }}
                    </span>
                </td>
              </tr>
              </tbody>
            </table>
          </div>
        </div>

        <!-- 生成结果样例 -->
        <div class="detail-section">
          <h2 class="section-title">生成结果样例</h2>
          <div class="result-examples">
            <div v-for="example in getExamples(currentModel.id)" :key="example.id" class="example-card">
              <h3 class="example-title">{{ example.title }}</h3>
              <div class="example-content">
                <div class="input-section">
                  <h4>输入</h4>
                  <div class="input-text">{{ example.input }}</div>
                </div>
                <div class="output-section">
                  <h4>输出</h4>
                  <div class="output-text">{{ example.output }}</div>
                </div>
              </div>
            </div>
          </div>
        </div>

        <!-- 实际应用案例 -->
        <div class="detail-section" v-if="showApplicationsSection(currentModel.id)">
          <h2 class="section-title">实际应用案例</h2>
          <div class="applications-content">
            <div v-for="app in getApplications(currentModel.id)" :key="app.title" class="application-card">
              <h3>{{ app.title }}</h3>
              <p>{{ app.description }}</p>
              <div class="application-stats">
                <span class="stat">准确率: {{ app.accuracy }}</span>
                <span class="stat">响应时间: {{ app.responseTime }}</span>
                <span class="stat" v-if="app.organization">应用机构: {{ app.organization }}</span>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>

    <!-- 加载状态 -->
    <div v-else class="loading-container">
      <div class="loading-spinner"></div>
      <p>加载模型中...</p>
    </div>

    <!-- 使用 Footer 组件 -->
    <Footer />
  </div>
</template>

<script>
import NavBar from '@/layout/UserView/NavBar.vue'
import Footer from '@/layout/UserView/Footer.vue'

export default {
  name: "ModelDetail",
  components: {
    NavBar,
    Footer
  },
  data() {
    return {
      isLoggedIn: false,
      themeIcon: 'light',
      currentModel: null,
      modelId: null,
      processSteps: [
        { id: 1, title: "数据准备", description: "收集和预处理时间序列数据，包括数据清洗、异常值处理等" },
        { id: 2, title: "模型选择", description: "根据数据特征选择合适的SARIMA模型参数(p,d,q)×(P,D,Q,s)" },
        { id: 3, title: "模型训练", description: "使用历史数据训练SARIMA模型，确定最优参数组合" },
        { id: 4, title: "模型验证", description: "使用测试集验证模型预测效果，进行必要的参数调整" },
        { id: 5, title: "预测应用", description: "使用训练好的模型进行未来时间点的预测" }
      ],

      // 完整的模型数据（与列表页保持一致）
      allModels: [
        {
          "id": 47,
          "name": "ARIMA",
          "logo": "A",
          "modelType": "经典统计模型",
          "type": "预测分析",
          "scenarios": ["时序预测", "经济指标分析"],
          "supportDeployment": true,
          "description": "擅长从历史数据本身寻找规律，适合预测具有稳定趋势的经济指标，如CPI、货币供应量等。",
          "company": "学术界",
          "versions": "多种参数组合",
          "color": "flat-blue",
          "isHot": true,
          // 新增详情页字段
          "introduction": "ARIMA（自回归积分滑动平均模型）是一种经典的时间序列预测方法，广泛应用于经济指标预测、销售预测等领域。该模型结合了自回归（AR）、差分（I）和移动平均（MA）组件，能够有效处理非平稳时间序列数据。[1](@ref)",
          "rating": 4.2,
          "accuracy": 85,
          "responseTime": "3.5s",
          "industryComparison": 5.2,
          "speedImprovement": 25,
          "efficiency": 78,
          "scalability": "中等",
          "scalabilityPercentage": 65,
          "scalabilityDescription": "适合中小规模时间序列数据预测[1](@ref)",
          "architecture": "ARIMA模型由三个参数(p,d,q)决定：p为自回归项数，d为差分次数，q为移动平均项数。模型通过对非平稳序列进行差分使其平稳，再建立ARMA模型进行预测。[1](@ref)",
          "technologies": ["时间序列分析", "自回归模型", "移动平均模型", "平稳性检验", "ACF/PACF分析"],
          "minGPU": "4GB",
          "minCPU": "4核心",
          "minMemory": "8GB",
          "recommendedGPU": "8GB",
          "recommendedCPU": "8核心",
          "recommendedMemory": "16GB",
          "highEndGPU": "16GB",
          "highEndCPU": "16核心",
          "highEndMemory": "32GB",
          "features": [
            {
              "title": "非平稳数据处理",
              "description": "通过差分运算将非平稳时间序列转换为平稳序列，扩大应用范围。[1](@ref)"
            },
            {
              "title": "模型解释性强",
              "description": "模型参数具有明确的统计意义，便于业务理解和解释。[1](@ref)"
            },
            {
              "title": "计算效率高",
              "description": "相对于复杂模型，ARIMA计算资源需求较低，训练速度快。[1](@ref)"
            }
          ],
          "datasets": [
            {
              "name": "经济时间序列数据",
              "description": "包含GDP、CPI、失业率等宏观经济指标的时间序列数据",
              "samples": "10,000+时间点",
              "format": "CSV/时间序列",
              "public": true
            }
          ],
          "examples": [
            {
              "id": 1,
              "title": "股票价格预测",
              "input": "历史股价数据（2010-2023年），包含每日开盘价、最高价、最低价、收盘价和成交量等关键指标",
              "output": "未来30天股价预测，准确率达到82.5%。模型能够捕捉股价的长期趋势和短期波动，为投资决策提供数据支持"
            }
          ],
          "hasApplications": false
        },
        {
          "id": 1,
          "name": "SARIMA",
          "logo": "S",
          "modelType": "经典统计模型",
          "type": "预测分析",
          "scenarios": ["时序预测", "季节性分析", "销售预测", "能源需求预测", "旅游需求预测"],
          "supportDeployment": true,
          "description": "季节性自回归积分滑动平均模型，能够同时捕捉数据的长期趋势和季节性规律，特别适合具有明显周期性波动的金融和经济时间序列预测",
          "company": "学术界",
          "versions": "多种变体",
          "color": "flat-green",
          "isHot": true,

          // 新增详情页字段
          "introduction": "SARIMA（季节性自回归积分滑动平均模型）是ARIMA模型的扩展，专门用于处理具有明显季节性规律的时间序列数据。该模型通过引入季节性参数，能够同时建模数据的非季节性成分和季节性成分，在金融领域的季节性分析、销售量预测、能源需求预测等场景中表现优异。SARIMA模型可以看作是一个'双核'模型，一个核心处理数据的整体趋势，另一个核心专门处理数据中的周期性模式[3,5](@ref)",
          "rating": 4.3,
          "accuracy": 85,
          "responseTime": "3.8s",
          "industryComparison": 7.2,
          "speedImprovement": 25,
          "efficiency": 78,
          "scalability": "中等",
          "scalabilityPercentage": 70,
          "scalabilityDescription": "适合具有明显季节性的中小规模时间序列数据，对数据量要求相对较低，但需要足够的历史数据点来识别季节性模式[1,8](@ref)",
          "architecture": "SARIMA模型表示为SARIMA(p,d,q)(P,D,Q)m，其中(p,d,q)是非季节性参数，分别代表自回归阶数、差分次数和移动平均阶数；(P,D,Q)是季节性参数，m为季节周期（如月度数据m=12）。模型通过季节性差分消除季节性单位根，使序列平稳，然后结合季节自回归和季节移动平均项来捕捉季节性模式[3,6,8](@ref)。该模型的工作流程是先进行季节性层面分析，再进行非季节性层面分析，最终结合成一个全面的预测模型[5](@ref)",
          "technologies": ["季节性分析", "时间序列分解", "周期检测", "ARIMA扩展", "自相关分析", "偏自相关分析", "单位根检验"],
          "minGPU": "2GB",
          "minCPU": "2核心",
          "minMemory": "4GB",
          "recommendedGPU": "4GB",
          "recommendedCPU": "4核心",
          "recommendedMemory": "8GB",
          "highEndGPU": "8GB",
          "highEndCPU": "8核心",
          "highEndMemory": "16GB",
          "features": [
            {
              "title": "季节性模式捕捉",
              "description": "能够有效识别和建模数据中的季节性规律，通过季节性差分和季节自回归/移动平均项提高预测精度，特别适合处理如节假日消费、季度末资金波动等周期性现象[3,6](@ref)"
            },
            {
              "title": "双重差分机制",
              "description": "结合普通差分（消除趋势）和季节性差分（消除季节性），使非平稳时间序列变得平稳，满足建模要求。普通差分是y_t - y_{t-1}，季节性差分是y_t - y_{t-m}[3,8](@ref)"
            },
            {
              "title": "参数解释性强",
              "description": "模型参数具有明确的统计意义，可以通过自相关图(ACF)和偏自相关图(PACF)进行初步识别，辅以AIC、BIC等信息准则选择最优参数组合[4,8](@ref)"
            },
            {
              "title": "白噪声残差检验",
              "description": "建模后通过Ljung-Box检验等方法验证残差是否为白噪声，确保模型已充分提取序列中的有用信息，保证预测效果的有效性[9](@ref)"
            }
          ],
          "datasets": [
            {
              "name": "季节性销售数据",
              "description": "包含节假日、季节等因素影响的销售时间序列数据，如月度零售额、季度产品销量等",
              "samples": "5,000+时间点",
              "format": "CSV/时间序列",
              "public": true
            },
            {
              "name": "金融时间序列数据",
              "description": "具有季节性的金融数据，如月度CPI指标、季度财报数据、年度消费指数等",
              "samples": "10,000+时间点",
              "format": "CSV/时间序列",
              "public": true
            },
            {
              "name": "能源需求数据",
              "description": "电力、燃气等能源需求的月度或季度数据，具有明显的年度季节性特征",
              "samples": "8,000+时间点",
              "format": "CSV/时间序列",
              "public": false
            }
          ],
          "examples": [
            {
              "id": 1,
              "title": "零售销售预测",
              "input": "历史销售数据（包含季节性波动），如2015-2019年月度PMI数据共50组数据，其中44组用于建模，6组用于模型检验[1](@ref)",
              "output": "考虑季节性因素的未来销售预测，平均相对百分比误差(MAPE)为3.77%，能够有效捕捉季节性波动模式[1](@ref)"
            },
            {
              "id": 2,
              "title": "航空乘客数量预测",
              "input": "国际航空乘客月度数据，包含明显的长期上升趋势和年度季节性模式，m=12[3,5](@ref)",
              "output": "未来12个月的乘客数量预测，能够精准预测整体上升趋势和季节性波峰波谷，预测值与实际值几乎完美重合[3](@ref)"
            },
            {
              "id": 3,
              "title": "旅游需求预测",
              "input": "季节性旅游数据，如酒店入住率、景点游客量等月度时间序列数据",
              "output": "考虑季节性因素的旅游需求预测，为资源规划和运营管理提供数据支持，准确率可达85%以上[8](@ref)"
            }
          ],
          "hasApplications": true,
          "applications": [
            {
              "title": "月度经济指标预测系统",
              "description": "基于SARIMA模型的季节性经济指标预测系统，用于预测制造业PMI、消费指数等具有明显季节性的经济指标。系统能够以85%以上的准确率预测未来3-6个月的经济趋势[1](@ref)",
              "accuracy": "85%+",
              "responseTime": "分钟级",
              "organization": "统计局及相关研究机构"
            },
          ],
          "advantages": "适用于具有明显季节性的时间序列数据；模型解释性强；参数具有明确的统计意义；对数据量要求相对不高[6,8](@ref)",
          "limitations": "模型参数较多，选择复杂；需要足够的历史数据（最好超过100个观测值）；长期预测效果较差；难以有效预测时间序列的转折点[1,8](@ref)"
        },
        {
          "id": 48,
          "name": "LSTM",
          "logo": "L",
          "modelType": "深度学习模型",
          "type": "预测分析",
          "scenarios": ["时序预测", "市场波动分析", "语音识别", "自然语言处理", "金融风险预警"],
          "supportDeployment": true,
          "description": "长短期记忆网络通过精密的门控机制，能够同时捕捉金融时间序列中的短期波动和长期规律，特别擅长处理如汇率、利率变化的复杂非线性动态。",
          "company": "学术界/产业界",
          "versions": "多种变体",
          "color": "flat-red",
          "isHot": false,

          // 新增详情页字段
          "introduction": "LSTM（长短期记忆网络）是由Sepp Hochreiter和Jürgen Schmidhuber于1997年提出的一种特殊循环神经网络（RNN）。它通过精巧的门控机制和细胞状态设计，有效解决了传统RNN的梯度消失问题，能够学习时间序列中的长期依赖关系。在金融领域，LSTM因其对非线性、非平稳时间序列的强大建模能力，被广泛应用于股价预测、风险评估、交易策略优化等场景。[1,2](@ref)",
          "rating": 4.6,
          "accuracy": 91,
          "responseTime": "2.8s",
          "industryComparison": 8.5,
          "speedImprovement": 40,
          "efficiency": 82,
          "scalability": "高",
          "scalabilityPercentage": 85,
          "scalabilityDescription": "适合处理大规模时间序列数据，支持分布式训练和模型堆叠，可通过双向LSTM、深层LSTM等变体提升处理能力[3](@ref)",
          "architecture": "LSTM的核心创新是细胞状态（Cell State）和门控机制。细胞状态作为记忆主干贯穿整个时间序列，信息在上面流动时只进行少量线性操作，保证长期信息的有效保存。门控机制包括遗忘门（决定丢弃哪些历史信息）、输入门（决定添加哪些新信息）和输出门（决定当前输出内容）。这种设计使LSTM能够选择性保留重要信息，遗忘无关信息，从而有效捕捉金融时间序列中的复杂模式。[1,5](@ref)",
          "technologies": ["循环神经网络", "门控机制", "时间序列预测", "深度学习", "梯度消失解决方案", "双向LSTM", "注意力机制", "序列建模"],
          "minGPU": "6GB",
          "minCPU": "6核心",
          "minMemory": "12GB",
          "recommendedGPU": "12GB",
          "recommendedCPU": "12核心",
          "recommendedMemory": "24GB",
          "highEndGPU": "24GB",
          "highEndCPU": "24核心",
          "highEndMemory": "48GB",
          "features": [
            {
              "title": "长期依赖学习",
              "description": "通过细胞状态和门控机制，能够捕捉时间序列中的长期规律，解决传统RNN梯度消失问题，特别适合金融市场的趋势分析和周期识别[1,5](@ref)"
            },
            {
              "title": "非线性关系建模",
              "description": "能够学习变量间的复杂非线性关系，捕捉金融市场中的波动聚集、均值回归等复杂现象，提高预测准确性[2](@ref)"
            },
            {
              "title": "门控机制",
              "description": "遗忘门、输入门、输出门共同构成精密的信息过滤系统，可自适应地决定信息的保留与遗忘，应对金融市场的结构性变化[1,3](@ref)"
            },
            {
              "title": "多变体架构",
              "description": "支持双向LSTM、堆叠LSTM、GRU等多种变体，可根据不同金融场景选择合适架构，平衡模型复杂度和表达能力[3,4](@ref)"
            }
          ],
          "datasets": [
            {
              "name": "高频交易数据",
              "description": "包含股票、期货、外汇等高频率金融时间序列数据，具有明显的时间相关性和波动聚集特性",
              "samples": "1,000,000+时间点",
              "format": "CSV/高频数据",
              "public": false
            },
            {
              "name": "多资产价格序列",
              "description": "包含股票、债券、商品等多种资产的价格和交易量数据，适合跨市场相关性分析",
              "samples": "500,000+时间点",
              "format": "数据库/时间序列",
              "public": true
            },
            {
              "name": "宏观经济指标",
              "description": "GDP、CPI、利率等宏观经济时间序列数据，用于基本面分析与市场趋势预测",
              "samples": "10,000+时间点",
              "format": "结构化数据",
              "public": true
            }
          ],
          "examples": [
            {
              "id": 1,
              "title": "汇率预测与风险管理",
              "input": "历史汇率数据、宏观经济指标、市场情绪指标等多维度时间序列数据，时间跨度为5年，频率为日级",
              "output": "未来7天汇率预测，模型能够综合考虑多种因素对汇率的影响，为企业的外汇风险对冲提供决策支持"
            },
            {
              "id": 2,
              "title": "股价趋势预测",
              "input": "苹果公司股票历史价格、交易量、技术指标数据，结合LSTM与注意力机制增强模型对关键时间点的关注[6](@ref)",
              "output": "未来4个交易日股价走势预测，平均绝对误差(MAE)控制在1.2%以内，能够有效识别趋势转折点"
            },
            {
              "id": 3,
              "title": "市场波动率预测",
              "input": "历史波动率数据、市场情绪指数、波动率曲面信息，通过LSTM捕捉波动率的聚集性和均值回复特性",
              "output": "未来波动率预测值，为期权定价和风险价值(VaR)计算提供输入，准确度较GARCH模型提升15%"
            }
          ],
          "hasApplications": true,
          "applications": [
            {
              "title": "智能交易决策系统",
              "description": "基于LSTM的多因子预测系统，整合市场数据、基本面数据和技术指标，为量化交易提供信号生成和策略优化",
              "accuracy": "88%",
              "responseTime": "分钟级",
              "organization": "多家对冲基金与投资银行"
            },
            {
              "title": "金融风险预警平台",
              "description": "利用LSTM对多维度风险指标进行时序建模，提前识别市场风险、信用风险和流动性风险的积聚与爆发",
              "accuracy": "90%",
              "responseTime": "实时",
              "organization": "银行与保险机构"
            },
          ],
          "advantages": "能够有效处理长序列数据，解决梯度消失问题；门控机制提供良好的解释性；对时间序列的非线性模式捕捉能力强；有多种变体可适应不同场景",
          "limitations": "计算复杂度较高，训练时间较长；超参数调优较为复杂；对异常值比较敏感；需要大量数据才能发挥最佳性能"
        },
        {
          "id": 5,
          "name": "Transformer",
          "logo": "T",
          "modelType": "深度学习模型",
          "type": "预测分析",
          "scenarios": ["多变量预测", "长期趋势分析", "自然语言处理", "计算机视觉", "金融时序预测"],
          "supportDeployment": true,
          "description": "基于注意力机制的先进架构，擅长处理序列数据和多变量关联分析，在长期依赖关系捕捉方面表现卓越。",
          "company": "Google",
          "versions": "多种变体",
          "color": "flat-purple",
          "isHot": true,
          // 新增详情页字段
          "introduction": "Transformer是一种基于自注意力机制的深度学习模型架构，最初由Google在2017年提出。该架构彻底改变了自然语言处理领域，成为现代大语言模型的基础。在金融领域，Transformer模型因其出色的序列建模能力和长距离依赖关系处理能力，被广泛应用于金融时序预测、风险管理和智能决策支持系统中。[1,4](@ref)",
          "rating": 4.8,
          "accuracy": 94,
          "responseTime": "2.1s",
          "industryComparison": 7.5,
          "speedImprovement": 45,
          "efficiency": 85,
          "scalability": "很高",
          "scalabilityPercentage": 92,
          "scalabilityDescription": "支持千亿参数规模的大模型训练，适合大规模金融数据处理[1](@ref)",
          "architecture": "Transformer采用编码器-解码器架构，核心是自注意力机制。编码器由N个相同层堆叠而成，每层包含多头自注意力子层和前馈神经网络子层；解码器类似但增加编码器-解码器注意力层。采用残差连接和层归一化稳定训练。该架构在金融领域的应用主要体现在其对时间序列数据的强大建模能力上，能够有效捕捉市场波动、风险传导等复杂模式。[1,4](@ref)",
          "technologies": ["自注意力机制", "多头注意力", "位置编码", "前馈神经网络", "层归一化", "残差连接", "时间序列预测", "金融风控"],
          "minGPU": "12GB",
          "minCPU": "8核心",
          "minMemory": "32GB",
          "recommendedGPU": "24GB",
          "recommendedCPU": "16核心",
          "recommendedMemory": "64GB",
          "highEndGPU": "48GB",
          "highEndCPU": "32核心",
          "highEndMemory": "128GB",
          "features": [
            {
              "title": "自注意力机制",
              "description": "能够捕捉序列中任意位置间的依赖关系，解决了传统RNN的长距离依赖问题，特别适合金融时间序列分析。[1](@ref)"
            },
            {
              "title": "并行计算能力",
              "description": "支持序列的并行处理，显著提升训练效率，比RNN具有更好的计算性能。[4](@ref)"
            },
            {
              "title": "多头注意力",
              "description": "通过多个注意力头学习不同的表示子空间，增强模型对复杂金融模式的特征提取能力。[1](@ref)"
            },
            {
              "title": "位置编码",
              "description": "为模型提供序列顺序信息，确保在处理金融时间序列时能准确理解时间依赖性。[4](@ref)"
            }
          ],
          "datasets": [
            {
              "name": "金融时间序列数据",
              "description": "包含股票价格、汇率、利率等多种金融时间序列数据",
              "samples": "10亿+时间点",
              "format": "CSV/时间序列",
              "public": true
            },
            {
              "name": "经济指标数据库",
              "description": "宏观经济指标、货币政策数据等",
              "samples": "5000+指标",
              "format": "结构化数据",
              "public": true
            },
            {
              "name": "交易行为数据",
              "description": "金融机构交易记录和用户行为数据",
              "samples": "1TB+",
              "format": "数据库",
              "public": false
            }
          ],
          "examples": [
            {
              "id": 1,
              "title": "房价趋势分析与预测",
              "input": "历史房价数据、房屋特征、经济指标、区域发展政策等多源数据，通过Transformer的统一编码框架进行特征融合[3,5](@ref)",
              "output": "未来房价趋势预测和区域价值评估，准确率94.2%。模型能够整合定量和定性信息，提供全面的市场分析报告"
            },
            {
              "id": 2,
              "title": "风险评估分析",
              "input": "企业财务数据、市场行情、宏观经济指标、行业新闻文本等多源异构数据，通过Transformer的统一编码框架进行特征融合",
              "output": "综合风险评估分数：85分（高风险），主要风险因素：负债率过高、现金流紧张、行业政策变化风险。模型能够整合定量和定性信息，提供全面的风险评估报告"
            },
            {
              "id": 3,
              "title": "多变量金融预测",
              "input": "包含股票、债券、商品、外汇等多种金融资产的跨市场时间序列数据，时间跨度为10年，频率为日级",
              "output": "多资产联合收益率预测和风险相关性矩阵，为投资组合优化提供数据支持。模型能够捕捉跨市场的联动效应和风险传导机制"
            }
          ],
          "hasApplications": true,
          "applications": [
            {
              "title": "外汇风险管理与预测系统",
              "description": "基于Transformer的时间序列预测模型，用于外汇市场波动预测和风险管理。该系统能够以90%以上的准确率预测公司现金流和外汇敞口，显著优化外汇对冲流程。[1](@ref)",
              "accuracy": "90%+",
              "responseTime": "实时",
              "organization": "巴克莱银行 & 蚂蚁国际"
            },
          ]
        },
        {
          "id": 6,
          "name": "Informer",
          "logo": "I",
          "modelType": "深度学习模型",
          "type": "预测分析",
          "scenarios": ["长期预测", "高效计算", "多变量时序预测", "电力负荷预测", "经济指标分析", "天气预测"],
          "supportDeployment": true,
          "description": "专为长序列时间序列预测设计的高效Transformer变体，通过ProbSparse注意力机制和蒸馏技术，在保持高精度的同时大幅降低计算复杂度",
          "company": "学术界",
          "versions": "开源",
          "color": "flat-light-blue",
          "isHot": true,
          "introduction": "Informer是一种基于Transformer架构的深度学习模型，专门针对长序列时间序列预测（LSTF）问题进行了优化。该模型通过ProbSparse自注意力机制、自注意力蒸馏技术和生成式解码器三大核心技术，有效解决了传统Transformer在长序列预测中的计算效率瓶颈问题。在金融、能源、气象等多个领域的长序列预测任务中表现出色。",
          "rating": 4.7,
          "accuracy": 92,
          "responseTime": "1.8s",
          "industryComparison": 8.8,
          "speedImprovement": 50,
          "efficiency": 88,
          "scalability": "很高",
          "scalabilityPercentage": 90,
          "scalabilityDescription": "支持极长序列输入（96+时间步），通过注意力蒸馏技术实现序列长度压缩，内存使用随序列长度呈O(LlogL)增长",
          "architecture": "Informer采用编码器-解码器架构，编码器包含ProbSparse自注意力层和自注意力蒸馏层，通过卷积池化对特征进行降采样；解码器采用生成式风格，可一次性预测整个长时间序列。模型输入包含标量嵌入、位置编码和全局时间戳，有效融合时序特征。",
          "technologies": ["ProbSparse注意力", "自注意力蒸馏", "生成式解码", "多头注意力", "时间序列嵌入", "长序列预测"],
          "minGPU": "6GB",
          "minCPU": "6核心",
          "minMemory": "12GB",
          "recommendedGPU": "12GB",
          "recommendedCPU": "12核心",
          "recommendedMemory": "24GB",
          "highEndGPU": "24GB",
          "highEndCPU": "24核心",
          "highEndMemory": "48GB",
          "features": [
            {
              "title": "ProbSparse自注意力机制",
              "description": "通过稀疏化注意力矩阵，仅保留重要的注意力权重，将计算复杂度从O(L²)降低到O(LlogL)，使模型能高效处理极长输入序列"
            },
            {
              "title": "自注意力蒸馏技术",
              "description": "在相邻注意力块之间加入卷积池化操作，对特征进行降采样，堆叠多层时每层输入序列长度减半，显著降低内存使用"
            },
            {
              "title": "生成式解码器",
              "description": "可一次性预测整个长时间序列，无需逐步解码，预测过程中将前48个真实值作为起始token，引导后续24个预测值的生成"
            },
            {
              "title": "多头注意力优化",
              "description": "默认配置8-14个注意力头，每个头的维度为64，平衡模型表达能力和计算效率"
            }
          ],
          "datasets": [
            {
              "name": "ETT数据集",
              "description": "电力变压器负荷和油温数据，包含小时级和分钟级时间序列",
              "samples": "17,420+时间点",
              "format": "CSV/时间序列",
              "public": true
            },
            {
              "name": "ECL数据集",
              "description": "电力消耗数据，包含多个客户的用电记录",
              "samples": "大量时间点",
              "format": "CSV/多变量时序",
              "public": true
            },
            {
              "name": "天气数据集",
              "description": "多地区气象观测数据，包含温度、湿度等多变量",
              "samples": "10,000+时间点",
              "format": "结构化数据",
              "public": true
            }
          ],
          "examples": [
            {
              "id": 1,
              "title": "电力负荷预测",
              "input": "历史电力负荷数据，编码器输入序列长度96，解码器输入前48个真实值引导后续24个预测值",
              "output": "未来24小时电力负荷预测，MSE指标显著优于传统LSTM和Transformer模型"
            },
            {
              "id": 2,
              "title": "汇率长期预测",
              "input": "多币种历史汇率数据，时间跨度为5年，频率为日级，包含多种宏观经济指标",
              "output": "未来30天汇率走势预测，准确捕捉长期趋势和短期波动"
            },
            {
              "id": 3,
              "title": "经济指标预测",
              "input": "GDP、CPI、失业率等多维度经济指标，序列长度超过100个时间点",
              "output": "未来多季度经济趋势预测，为政策制定提供数据支持"
            }
          ],
          "hasApplications": true,
          "applications": [
            {
              "title": "智能电网负荷预测系统",
              "description": "基于Informer的电力负荷预测平台，能够准确预测未来24小时至一周的电力需求，为电网调度和能源分配提供决策支持",
              "accuracy": "92%",
              "responseTime": "实时",
              "organization": "电力公司与能源管理机构"
            },
            {
              "title": "金融市场趋势分析平台",
              "description": "利用Informer处理长序列金融数据，预测股票价格、汇率波动等，为投资机构提供长期趋势分析",
              "accuracy": "90%",
              "responseTime": "分钟级",
              "organization": "投资银行与基金管理公司"
            }
          ],
          "advantages": "专门针对长序列预测优化；计算效率高；支持一次性生成预测；在多个公开数据集上验证有效",
          "limitations": "模型参数调优相对复杂；对数据质量要求较高；需要足够历史数据才能发挥最佳性能"
        },
        {
          "id": 7,
          "name": "TimesNet",
          "logo": "T",
          "modelType": "深度学习模型",
          "type": "预测分析",
          "scenarios": ["多周期分析", "长期趋势预测", "金融时间序列预测", "宏观经济指标预测", "电力负荷预测"],
          "supportDeployment": true,
          "description": "基于CNN的2D架构时间序列分析模型，通过将一维序列转换为二维张量有效捕捉周期内和周期间变化，在多重周期性时间序列预测中表现卓越",
          "company": "学术界",
          "versions": "开源",
          "color": "flat-lime",
          "isHot": true,
          "introduction": "TimesNet是2023年发布的一种创新型时间序列分析模型，其核心创新在于将一维时间序列转换为二维张量来表示多周期性。该模型通过快速傅里叶变换(FFT)自动识别时间序列中的显著周期，并将这些周期信息通过二维重塑转换为类似图像的结构，从而能够同时捕捉周期内变化（短期模式）和周期间变化（长期趋势）。在宏观经济预测领域，TimesNet能够有效分析GDP增长率、通货膨胀率、失业率等经济指标的复杂周期性规律[1,2](@ref)",
          "rating": 4.7,
          "accuracy": 92,
          "responseTime": "1.5s",
          "industryComparison": 8.7,
          "speedImprovement": 48,
          "efficiency": 86,
          "scalability": "高",
          "scalabilityPercentage": 88,
          "scalabilityDescription": "支持多变量长序列输入，通过注意力蒸馏技术实现序列长度压缩，适合处理宏观经济大数据[1](@ref)",
          "architecture": "TimesNet采用模块化架构，核心是TimesBlock模块。模型首先通过FFT识别时间序列中的主要周期，然后将1D序列基于不同周期重塑为2D张量（行表示周期数，列表示周期内位置）。这些2D张量随后输入参数高效的Inception模块（借鉴GoogleNet）进行特征提取，最后通过自适应聚合机制融合不同周期的特征表示。该架构特别适合经济数据中存在的多重周期性（如季度周期、年度周期、经济周期）[1,2](@ref)",
          "technologies": ["快速傅里叶变换", "2D卷积神经网络", "Inception模块", "自适应聚合", "多周期检测", "时间序列重塑"],
          "minGPU": "6GB",
          "minCPU": "6核心",
          "minMemory": "16GB",
          "recommendedGPU": "12GB",
          "recommendedCPU": "12核心",
          "recommendedMemory": "32GB",
          "highEndGPU": "24GB",
          "highEndCPU": "24核心",
          "highEndMemory": "64GB",
          "features": [
            {
              "title": "多周期检测与建模",
              "description": "通过FFT自动识别时间序列中的显著周期，能够同时捕捉日、周、月、年等多重周期性，适合经济数据中复杂的周期规律[1](@ref)"
            },
            {
              "title": "2D时间变化表示",
              "description": "将1D时间序列重塑为2D张量，分别从行（周期间）和列（周期内）两个维度建模时间变化，提供更丰富的时间模式表示[2](@ref)"
            },
            {
              "title": "参数高效Inception架构",
              "description": "采用多尺度卷积核并行提取特征，平衡模型表达能力和计算效率，适合不同频率的经济指标预测[1](@ref)"
            },
            {
              "title": "自适应特征聚合",
              "description": "根据周期振幅自动加权聚合不同周期的特征表示，确保重要周期模式对预测结果有更大贡献[2](@ref)"
            }
          ],
          "datasets": [
            {
              "name": "宏观经济指标数据集",
              "description": "包含GDP、CPI、PMI、失业率等主要宏观经济指标的时间序列数据",
              "samples": "50,000+时间点",
              "format": "CSV/时间序列",
              "public": true
            },
            {
              "name": "金融时间序列数据",
              "description": "股票指数、汇率、利率等金融时间序列，具有明显的波动聚集性和周期性特征",
              "samples": "1,000,000+时间点",
              "format": "数据库/高频数据",
              "public": false
            },
            {
              "name": "农产品价格序列",
              "description": "玉米、大豆、鸡蛋等农产品日度价格数据，具有明显的季节性和周期性波动",
              "samples": "10,000+时间点",
              "format": "结构化数据",
              "public": true
            }
          ],
          "examples": [
            {
              "id": 1,
              "title": "宏观经济指标多周期预测",
              "input": "过去10年GDP季度增长率、CPI月度数据、PMI指数等多维度宏观经济时间序列，序列长度120个时间点",
              "output": "未来8个季度宏观经济趋势预测，准确捕捉经济周期的复苏、繁荣、衰退、萧条四个阶段，预测准确率91.5%"
            },
            {
              "id": 2,
              "title": "农产品价格预测分析",
              "input": "玉米、鸡蛋、大豆等农产品5年日度价格数据，结合气候变化、季节性因素等多重周期影响",
              "output": "未来6个月农产品价格预测，准确识别种植周期、收获周期带来的价格波动，平均绝对百分比误差(MAPE)降低38.9%[4](@ref)"
            },
            {
              "id": 3,
              "title": "通货膨胀率趋势分析",
              "input": "消费者价格指数(CPI)及其构成分项的20年月度数据，识别基期效应、季节性因素和长期趋势",
              "output": "未来12个月CPI走势预测，为货币政策制定提供前瞻性指引，趋势方向判断准确率达到94%"
            }
          ],
          "hasApplications": true,
          "applications": [
            {
              "title": "智能经济监测预警系统",
              "description": "基于TimesNet的宏观经济监测平台，对主要经济指标的周期性变化进行实时跟踪和预测，为政策制定提供数据支持[4](@ref)",
              "accuracy": "91%",
              "responseTime": "实时",
              "organization": "国家统计局及相关研究机构"
            },
            {
              "title": "农产品价格预测平台",
              "description": "利用TimesNet捕捉农产品价格的季节性规律和周期性波动，为农业生产计划和市场调控提供决策依据",
              "accuracy": "89%",
              "responseTime": "日频",
              "organization": "农业农村部及相关期货交易所"
            }
          ]
        },
        {
          "id": 50,
          "name": "Chronos",
          "logo": "C",
          "modelType": "预训练模型",
          "type": "预测分析",
          "scenarios": ["零样本学习", "多领域适配", "金融收益预测", "经济指标预测"],
          "supportDeployment": true,
          "description": "基于大语言模型架构的时间序列预测模型，支持零样本学习，无需特定领域训练即可适应多种预测任务",
          "company": "Amazon",
          "versions": "多个尺寸",
          "color": "flat-pink",
          "isHot": true,
          "introduction": "Chronos是Amazon Science开发的一种基于预训练语言模型架构的时间序列预测模型。其核心思想是将时间序列数据转化为文本-like的token序列，利用在大规模时间序列语料上预训练的模型进行零样本或少量样本的预测任务。该模型在金融收益预测、经济指标分析等场景中展现出强大的泛化能力[6,8](@ref)",
          "rating": 4.5,
          "accuracy": 87,
          "responseTime": "2.3s",
          "industryComparison": 8.2,
          "speedImprovement": 35,
          "efficiency": 80,
          "scalability": "很高",
          "scalabilityPercentage": 90,
          "scalabilityDescription": "支持零样本迁移学习，无需重新训练即可适应新领域的时间序列预测任务[6](@ref)",
          "architecture": "Chronos采用编码器-解码器架构，使用T5或类似Transformer架构作为基础。模型首先将数值型时间序列数据通过量化技术转换为离散token，然后采用自回归方式生成未来时间点的预测值。模型在包含多个领域的海量时间序列数据上进行预训练，学习通用时间模式，从而支持零样本迁移到新领域[6,8](@ref)",
          "technologies": ["预训练语言模型", "零样本学习", "时间序列标记化", "自回归预测", "多领域适配"],
          "minGPU": "8GB",
          "minCPU": "8核心",
          "minMemory": "16GB",
          "recommendedGPU": "16GB",
          "recommendedCPU": "16核心",
          "recommendedMemory": "32GB",
          "highEndGPU": "32GB",
          "highEndCPU": "32核心",
          "highEndMemory": "64GB",
          "features": [
            {
              "title": "零样本预测能力",
              "description": "无需在目标领域数据上进行训练即可直接进行预测，极大降低模型部署成本和时间[6](@ref)"
            },
            {
              "title": "多领域泛化能力",
              "description": "在包含经济、金融、气象等多个领域的海量数据上预训练，具备强大的跨领域泛化能力[8](@ref)"
            },
            {
              "title": "概率预测支持",
              "description": "能够输出预测值的不确定性范围，为风险评估提供更全面的信息[8](@ref)"
            }
          ],
          "datasets": [
            {
              "name": "多领域时间序列语料库",
              "description": "包含经济、金融、气象、能源等多个领域的时间序列数据，用于模型预训练",
              "samples": "10亿+时间点",
              "format": "多源异构数据",
              "public": false
            },
            {
              "name": "金融收益数据集",
              "description": "股票、债券等金融资产的收益时间序列，用于验证金融预测能力",
              "samples": "5,000,000+时间点",
              "format": "数据库/高频数据",
              "public": true
            }
          ],
          "examples": [
            {
              "id": 1,
              "title": "零样本金融收益预测",
              "input": "美国单一股票的历史收益数据，使用100天上下文窗口预测下一天收益",
              "output": "在未经过金融数据专门训练的情况下，构建多空投资组合，实现超额收益，夏普比率达到3.17[6](@ref)"
            },
            {
              "id": 2,
              "title": "经济指标跨领域预测",
              "input": "新兴市场国家经济指标时间序列，模型在发达国家数据上预训练后直接应用",
              "output": "准确预测GDP增长趋势，为零样本跨经济体预测提供可行方案"
            }
          ],
          "hasApplications": true,
          "applications": [
            {
              "title": "量化投资研究平台",
              "description": "基于Chronos的金融收益预测系统，为对冲基金和投资银行提供零样本预测能力[6](@ref)",
              "accuracy": "87%",
              "responseTime": "实时",
              "organization": "投资机构与量化基金"
            },
            {
              "title": "经济预测辅助系统",
              "description": "利用Chronos的零样本学习能力，快速适配新兴市场经济指标预测任务",
              "accuracy": "85%",
              "responseTime": "分钟级",
              "organization": "国际组织与研究机构"
            }
          ]
        },
        {
          "id": 49,
          "name": "Moirai",
          "logo": "M",
          "modelType": "预训练模型",
          "type": "预测分析",
          "scenarios": ["多变量预测", "宏观分析", "经济系统建模", "政策模拟"],
          "supportDeployment": true,
          "description": "统一的多变量时间序列预测基础模型，能够同时处理大量相关时间序列并捕捉变量间的复杂动态关系",
          "company": "学术界",
          "versions": "开源",
          "color": "flat-blue-grey",
          "isHot": true,
          "introduction": "Moirai是一种专门为多变量时间序列预测设计的预训练基础模型，其核心优势在于能够同时处理大量相关变量并捕捉它们之间的复杂动态关系。该模型采用先进的注意力机制和表示学习技术，在宏观经济系统建模、政策效果模拟等需要多变量协同分析的场景中表现优异",
          "rating": 4.4,
          "accuracy": 89,
          "responseTime": "3.1s",
          "industryComparison": 7.9,
          "speedImprovement": 30,
          "efficiency": 78,
          "scalability": "高",
          "scalabilityPercentage": 85,
          "scalabilityDescription": "支持数百个变量的同时预测，适合复杂经济系统的整体建模",
          "architecture": "Moirai采用基于Transformer的编码器-解码器架构，结合专门设计的跨变量注意力机制。模型通过分层表示学习捕捉变量内在的时间模式和变量间的关联关系，采用多任务预训练策略学习通用时间表示，支持微调到特定多变量预测任务",
          "technologies": ["多变量注意力", "表示学习", "预训练微调", "跨变量依赖建模"],
          "minGPU": "10GB",
          "minCPU": "8核心",
          "minMemory": "24GB",
          "recommendedGPU": "16GB",
          "recommendedCPU": "16核心",
          "recommendedMemory": "48GB",
          "highEndGPU": "32GB",
          "highEndCPU": "32核心",
          "highEndMemory": "96GB",
          "features": [
            {
              "title": "多变量协同预测",
              "description": "能够同时处理大量相关时间序列，捕捉变量间的领先-滞后关系和协同波动模式"
            },
            {
              "title": "跨变量注意力机制",
              "description": "通过专门设计的注意力机制显式建模变量间的动态依赖关系，提升系统预测准确性"
            },
            {
              "title": "经济系统模拟",
              "description": "适合构建完整的经济系统模型，分析政策变动对多个经济指标的连锁影响"
            }
          ],
          "datasets": [
            {
              "name": "宏观经济系统数据集",
              "description": "包含产出、消费、投资、进出口、就业等宏观变量的完整系统数据",
              "samples": "100+变量，50年数据",
              "format": "结构化数据库",
              "public": true
            }
          ],
          "examples": [
            {
              "id": 1,
              "title": "宏观经济系统联动预测",
              "input": "GDP、消费、投资、进出口、就业等20个核心宏观经济变量的30年季度数据",
              "output": "未来12个季度多变量协同预测，准确捕捉变量间的传导关系和系统动态"
            },
            {
              "id": 2,
              "title": "货币政策效应模拟",
              "input": "利率、货币供应量、通胀率、汇率等金融变量与实体经济指标的历史数据",
              "output": "货币政策调整对经济系统的全方位影响模拟，为政策制定提供量化支持"
            }
          ],
          "hasApplications": true,
          "applications": [
            {
              "title": "宏观经济政策模拟平台",
              "description": "基于Moirai的多变量预测能力，构建经济系统仿真平台，评估政策调整的综合影响",
              "accuracy": "88%",
              "responseTime": "小时级",
              "organization": "央行和政策研究机构"
            }
          ]
        },
        {
          "id": 39,
          "name": "DeepSeek V3.2",
          "logo": "D",
          "logoPath": "/img/deepseek-logo.png",
          "modelType": "大模型",
          "type": "语言模型",
          "scenarios": ["文本生成", "语义理解", "经济报告分析", "市场情绪挖掘"],
          "supportDeployment": true,
          "description": "DeepSeek-V3.2-Exp引入稀疏注意力机制(DSA)，大幅提升长文本处理效率，特别适合经济报告、财经新闻等长文档分析",
          "company": "学术界",
          "versions": "开源",
          "color": "flat-cyan",
          "isHot": true,
          "introduction": "DeepSeek-V3.2-Exp在V3.1-Terminus基础上引入了DSA机制，针对长文本处理效率进行了优化。该模型在经济学文本分析、财经报告理解和市场情绪挖掘等场景中表现出色，能够高效处理数百页的经济分析文档",
          "rating": 4.6,
          "accuracy": 90,
          "responseTime": "1.2s",
          "industryComparison": 8.4,
          "speedImprovement": 60,
          "efficiency": 88,
          "scalability": "很高",
          "scalabilityPercentage": 92,
          "scalabilityDescription": "稀疏注意力机制使模型能够高效处理超长文本，适合经济学学术论文和政策报告分析[9](@ref)",
          "architecture": "DeepSeek V3.2采用Transformer架构，核心创新是DeepSeek Sparse Attention(DSA)机制。DSA模仿人类阅读习惯，动态筛选关键信息块，将长文本的处理计算量从平方级增长压缩至近线性增长，使模型能够高效处理6万字以上的长文档而不会显著增加计算开销[9](@ref)",
          "technologies": ["稀疏注意力", "长文本处理", "语义理解", "文本生成"],
          "minGPU": "12GB",
          "minCPU": "8核心",
          "minMemory": "32GB",
          "recommendedGPU": "24GB",
          "recommendedCPU": "16核心",
          "recommendedMemory": "64GB",
          "highEndGPU": "48GB",
          "highEndCPU": "32核心",
          "highEndMemory": "128GB",
          "features": [
            {
              "title": "稀疏注意力机制",
              "description": "动态筛选关键信息，大幅提升长文档处理效率，适合经济报告和财经新闻分析[9](@ref)"
            },
            {
              "title": "高效长文本处理",
              "description": "能够一次性处理数百页的经济分析报告，捕捉全文逻辑和核心观点"
            },
            {
              "title": "经济语义理解",
              "description": "在经济学领域文本上微调，具备专业术语理解和推理能力"
            }
          ],
          "datasets": [
            {
              "name": "经济学文献库",
              "description": "包含经济学学术论文、研究报告、政策文档等专业文本数据",
              "samples": "10亿+token",
              "format": "文本数据",
              "public": false
            }
          ],
          "examples": [
            {
              "id": 1,
              "title": "经济政策文档分析",
              "input": "央行货币政策报告、财政预算文档等长篇幅经济政策文件",
              "output": "政策要点提取、影响分析和执行建议，生成简洁的政策解读报告"
            },
            {
              "id": 2,
              "title": "市场情绪挖掘",
              "input": "财经新闻、分析师报告、社交媒体金融文本等多元数据源",
              "output": "市场情绪指数和趋势分析，为投资决策提供文本数据支持"
            }
          ],
          "hasApplications": true,
          "applications": [
            {
              "title": "智能投研分析平台",
              "description": "基于DeepSeek V3.2的财经文档分析系统，自动处理海量研报和新闻，提取投资洞察[9](@ref)",
              "accuracy": "90%",
              "responseTime": "分钟级",
              "organization": "券商与投资研究机构"
            }
          ]
        },
        {
          "id": 40,
          "name": "ERNIE4.5",
          "logo": "E",
          "logoPath": "/img/ERNIE-logo.png",
          "modelType": "大模型",
          "type": "多模态",
          "scenarios": ["视觉理解", "图像识别", "经济图表分析", "数据可视化解读"],
          "supportDeployment": true,
          "description": "百度研发的新一代多模态大模型，在理解经济图表、数据可视化方面具有突出能力，支持图文联合推理",
          "company": "学术界",
          "versions": "开源",
          "color": "flat-cyan",
          "isHot": true,
          "introduction": "ERNIE 4.5是百度自主研发的下一代原生多模态基础大模型，通过多模态联合建模实现协同优化，在图文理解、视觉推理等方面能力全面提升。该模型特别擅长理解经济统计图表、数据可视化图形，能够从复杂图表中提取关键经济洞察",
          "rating": 4.5,
          "accuracy": 88,
          "responseTime": "1.8s",
          "industryComparison": 8.1,
          "speedImprovement": 40,
          "efficiency": 82,
          "scalability": "高",
          "scalabilityPercentage": 85,
          "scalabilityDescription": "支持大规模多模态数据训练，适合处理包含图表的经济分析报告",
          "architecture": "ERNIE 4.5采用统一的多模态架构，通过跨模态注意力机制实现文本和图像的深度融合理解。模型在海量图文对数据上训练，能够理解经济图表中的趋势、异常点和统计关系",
          "technologies": ["多模态理解", "视觉语言联合建模", "图表解析", "跨模态注意力"],
          "minGPU": "16GB",
          "minCPU": "12核心",
          "minMemory": "32GB",
          "recommendedGPU": "32GB",
          "recommendedCPU": "24核心",
          "recommendedMemory": "64GB",
          "highEndGPU": "48GB",
          "highEndCPU": "32核心",
          "highEndMemory": "128GB",
          "features": [
            {
              "title": "经济图表理解",
              "description": "能够准确解读折线图、柱状图、散点图等经济统计图表，提取数据趋势和异常模式"
            },
            {
              "title": "多模态联合推理",
              "description": "结合图表视觉信息和 accompanying文本描述，进行深度经济分析"
            },
            {
              "title": "可视化数据解读",
              "description": "将复杂的经济数据可视化转化为结构化洞察，支持决策分析"
            }
          ],
          "datasets": [
            {
              "name": "经济图表数据集",
              "description": "包含各类经济统计图表及其文字描述的多模态数据集",
              "samples": "100万+图表文本对",
              "format": "多模态数据",
              "public": false
            }
          ],
          "examples": [
            {
              "id": 1,
              "title": "经济图表自动分析",
              "input": "GDP增长率图表、CPI走势图、就业数据可视化等经济统计图表",
              "output": "图表趋势描述、关键拐点识别、异常值检测和经济学解读"
            },
            {
              "id": 2,
              "title": "经济报告多模态理解",
              "input": "包含文字、图表、表格的经济分析报告和统计公报",
              "output": "报告核心结论提取、数据一致性验证和多维度经济洞察"
            }
          ],
          "hasApplications": true,
          "applications": [
            {
              "title": "智能经济图表分析系统",
              "description": "基于ERNIE 4.5的多模态理解能力，自动分析经济统计图表，生成数据洞察",
              "accuracy": "88%",
              "responseTime": "实时",
              "organization": "统计机构和研究部门"
            }
          ]
        },
        {
          "id": 41,
          "name": "Kimi-K2-Instruct",
          "logo": "K",
          "logoPath": "/img/kimi-logo.png",
          "modelType": "大模型",
          "type": "多模态",
          "scenarios": ["文本生成", "语义理解", "经济问答", "政策分析"],
          "supportDeployment": true,
          "description": "国内首个开源万亿参数MoE模型，具有卓越的编码和工具调用能力，特别适合复杂经济问题推理和政策分析",
          "company": "学术界",
          "versions": "开源",
          "color": "flat-cyan",
          "isHot": true,
          "introduction": "Kimi-K2-Instruct是月之暗面提供的开源万亿参数混合专家模型(MoE)，具有320亿个激活参数和1万亿个总参数。模型在代码生成、工具调用和复杂推理方面表现卓越，能够处理需要多步经济推理和政策分析的复杂任务",
          "rating": 4.3,
          "accuracy": 86,
          "responseTime": "2.5s",
          "industryComparison": 7.8,
          "speedImprovement": 35,
          "efficiency": 79,
          "scalability": "高",
          "scalabilityPercentage": 88,
          "scalabilityDescription": "MoE架构实现万亿参数规模，同时保持高效推理，适合复杂经济建模",
          "architecture": "Kimi-K2-Instruct采用混合专家架构，通过路由机制将输入分配给不同的专家网络，实现参数规模与计算效率的平衡。模型在代码、数学推理和经济文本上专门优化，具备强大的经济问题求解能力",
          "technologies": ["混合专家模型", "工具调用", "复杂推理", "代码生成"],
          "minGPU": "20GB",
          "minCPU": "12核心",
          "minMemory": "48GB",
          "recommendedGPU": "40GB",
          "recommendedCPU": "24核心",
          "recommendedMemory": "96GB",
          "highEndGPU": "80GB",
          "highEndCPU": "32核心",
          "highEndMemory": "192GB",
          "features": [
            {
              "title": "经济问题复杂推理",
              "description": "能够进行多步经济推理，分析政策影响、市场传导机制等复杂经济问题"
            },
            {
              "title": "经济计算工具集成",
              "description": "支持调用经济计算工具和统计软件，进行专业的经济计量分析"
            },
            {
              "title": "政策效果模拟",
              "description": "能够模拟不同政策情境下的经济影响，进行对比分析"
            }
          ],
          "datasets": [
            {
              "name": "经济问答数据集",
              "description": "包含经济学考试题、政策分析题、经济推理题等复杂问答对",
              "samples": "100万+问答对",
              "format": "问答数据",
              "public": false
            }
          ],
          "examples": [
            {
              "id": 1,
              "title": "经济政策影响分析",
              "input": "货币政策调整方案、财政政策选项等政策描述文本",
              "output": "多维度政策影响分析、潜在效果评估和风险提示"
            },
            {
              "id": 2,
              "title": "复杂经济问题求解",
              "input": "包含数学模型、统计计算的经济学问题和政策分析题",
              "output": "分步骤推理过程、计算结果的经済学解释和政策建议"
            }
          ],
          "hasApplications": true,
          "applications": [
            {
              "title": "智能经济分析助手",
              "description": "基于Kimi-K2-Instruct的复杂推理能力，为政策制定者提供深度经济分析支持",
              "accuracy": "86%",
              "responseTime": "分钟级",
              "organization": "政策研究机构和智库"
            }
          ]
        },
        {
          "id": 31,
          "name": "XGBoost",
          "logo": "X",
          "modelType": "传统机器学习",
          "type": "预测分析",
          "scenarios": ["数据分类", "回归预测"],
          "supportDeployment": true,
          "description": "通过梯度提升决策树不断修正错误，构建高精度模型，在表格数据任务中表现卓越。",
          "company": "学术界/产业界",
          "versions": "开源",
          "color": "flat-green",
          "isHot": true,

          "introduction": "XGBoost（eXtreme Gradient Boosting）是一种基于梯度提升决策树（GBDT）的高效机器学习算法，由Tianqi Chen于2014年提出。该算法通过对传统GBDT在正则化、并行处理、缺失值处理和二阶导数优化等方面的改进，在准确性和训练速度上实现了显著提升。XGBoost在Kaggle等数据科学竞赛中表现突出，已成为处理结构化数据的首选工具之一。[1,2](@ref)",
          "rating": 4.8,
          "accuracy": 95,
          "responseTime": "0.5s",
          "industryComparison": 9.2,
          "speedImprovement": 50,
          "efficiency": 90,
          "scalability": "高",
          "scalabilityPercentage": 88,
          "scalabilityDescription": "支持分布式训练和并行处理，可通过块结构设计和直方图优化高效处理大规模数据集，适应多种硬件平台[2](@ref)",
          "architecture": "XGBoost的核心是基于梯度提升框架，通过加法模型逐步优化损失函数。其创新点包括：引入正则化项控制模型复杂度；使用二阶泰勒展开近似损失函数，提高优化精度；采用预排序和块结构技术加速分裂点搜索；内置缺失值处理机制，自动学习缺失值分支方向。目标函数结合损失函数和正则项，有效平衡拟合能力与泛化性能。[1,2](@ref)",
          "technologies": ["梯度提升", "决策树集成", "正则化", "并行计算", "直方图优化", "缺失值处理", "特征重要性评估"],
          "minGPU": "2GB",
          "minCPU": "4核心",
          "minMemory": "8GB",
          "recommendedGPU": "8GB",
          "recommendedCPU": "8核心",
          "recommendedMemory": "16GB",
          "highEndGPU": "16GB",
          "highEndCPU": "16核心",
          "highEndMemory": "32GB",
          "features": [
            {
              "title": "正则化提升",
              "description": "在目标函数中加入L1和L2正则化项，有效控制模型复杂度，防止过拟合，提升泛化能力[1](@ref)"
            },
            {
              "title": "并行处理",
              "description": "通过块结构设计和特征预排序实现并行计算，大幅提升训练速度，支持多核CPU和分布式环境[1,2](@ref)"
            },
            {
              "title": "缺失值处理",
              "description": "自动学习缺失值的最佳分裂方向，无需人工填充，适应真实数据中的不完整场景[1,3](@ref)"
            },
            {
              "title": "二阶导数优化",
              "description": "利用损失函数的二阶导数信息，更精确地逼近目标函数，加速收敛并提高模型精度[2,5](@ref)"
            }
          ],
          "datasets": [
            {
              "name": "结构化表格数据",
              "description": "包含数值型、类别型特征的表格数据，适合梯度提升树模型处理",
              "samples": "100,000+记录",
              "format": "CSV/Parquet",
              "public": true
            },

          ],
          "examples": [
            {
              "id": 1,
              "title": "金融风控模型",
              "input": "用户征信数据、交易行为特征、历史违约记录等结构化特征，通过XGBoost处理缺失值和类别特征[1](@ref)",
              "output": "用户违约概率预测，模型能够自动学习特征交互效应，准确识别高风险客户"
            },
            {
              "id": 2,
              "title": "销售额预测",
              "input": "历史销售数据、促销活动指标、季节性特征，利用XGBoost的回归能力进行多维度建模",
              "output": "未来30天销售额预测，平均绝对百分比误差控制在5%以内，为库存管理提供决策支持"
            },

          ],
          "hasApplications": true,
          "applications": [
            {
              "title": "风险评分系统",
              "description": "基于XGBoost的信用评估模型，整合多源数据，为银行和金融机构提供精准的风险量化工具",
              "accuracy": "92%",
              "responseTime": "毫秒级",
              "organization": "多家金融机构"
            },

          ],
          "advantages": "处理结构化数据效率高，支持缺失值和类别特征；正则化设计有效防止过拟合；训练速度快，支持并行化；在各类表格数据任务中表现稳定[1,2](@ref)",
          "limitations": "对非结构化数据（如图像、文本）处理能力有限；模型解释性不如线性模型直接；超参数较多，调优需要经验[3](@ref)"
        },
        {
          "id": 52,
          "name": "随机森林",
          "logo": "R",
          "modelType": "传统机器学习",
          "type": "分类分析",
          "scenarios": ["分类任务", "回归预测", "特征重要性评估"],
          "supportDeployment": true,
          "description": "集成学习算法，通过构建多棵决策树并投票或平均结果，提高准确性和鲁棒性，防止过拟合。",
          "company": "学术界",
          "versions": "开源",
          "color": "flat-blue",
          "isHot": true,

          "introduction": "随机森林（Random Forest）是Leo Breiman于2001年提出的一种集成学习算法，属于Bagging流派的代表性方法。它通过自助采样法构建多个决策树，并通过投票或平均方式结合预测结果，有效降低模型方差，提高泛化能力。随机森林在处理高维数据、特征重要性评估方面表现优异，且不易过拟合。[2,5](@ref)",
          "rating": 4.3,
          "accuracy": 89,
          "responseTime": "1.2s",
          "industryComparison": 7.8,
          "speedImprovement": 30,
          "efficiency": 85,
          "scalability": "中高",
          "scalabilityPercentage": 80,
          "scalabilityDescription": "支持并行训练，但树数量增多时内存消耗较大；适用于中等规模数据集，可通过特征采样和树深度控制扩展性[5](@ref)",
          "architecture": "随机森林基于Bagging框架，通过两个随机性来源提升多样性：首先从原始数据集中有放回抽样生成多个子训练集；然后在每个节点分裂时随机选择特征子集寻找最佳分裂点。最终分类任务采用投票法，回归任务采用平均法聚合结果。这种设计有效降低方差，提高模型鲁棒性。[5](@ref)",
          "technologies": ["Bagging集成", "决策树", "特征采样", "自助采样", "方差减少", "特征重要性"],
          "minGPU": "不要求",
          "minCPU": "4核心",
          "minMemory": "4GB",
          "recommendedGPU": "不要求",
          "recommendedCPU": "8核心",
          "recommendedMemory": "16GB",
          "highEndGPU": "不要求",
          "highEndCPU": "16核心",
          "highEndMemory": "32GB",
          "features": [
            {
              "title": "双重随机性",
              "description": "通过数据行采样和特征列采样的双重随机机制，增加树间多样性，有效降低模型方差[5](@ref)"
            },
            {
              "title": "抗过拟合",
              "description": "多树投票机制和随机采样使模型对噪声不敏感，天然具有抗过拟合特性，适合高维数据[5](@ref)"
            },
            {
              "title": "特征重要性评估",
              "description": "基于特征在分裂节点上的不纯度减少量自动计算特征重要性，为特征选择提供指导[5](@ref)"
            },
            {
              "title": "缺失值鲁棒性",
              "description": "对缺失值和异常值不敏感，适合处理真实世界中的不完美数据，无需复杂预处理"
            }
          ],
          "datasets": [
            {
              "name": "中型结构化数据",
              "description": "特征维度适中、样本量在万到百万级别的数据集，适合随机森林的采样机制",
              "samples": "50,000+记录",
              "format": "CSV/表格数据",
              "public": true
            },
            {
              "name": "高维特征数据",
              "description": "基因表达、文本特征等高维数据集，利用随机森林的特征选择能力进行降维分析",
              "samples": "10,000+记录",
              "format": "矩阵数据",
              "public": true
            },
            {
              "name": "多分类任务数据",
              "description": "类别数较多的分类问题，随机森林的多树投票机制能有效处理类别不平衡",
              "samples": "100,000+记录",
              "format": "标注数据",
              "public": false
            }
          ],
          "examples": [

            {
              "id": 1,
              "title": "房价评估模型",
              "input": "房屋属性、地理位置、市场行情等特征，通过随机森林回归预测房地产价值",
              "output": "房价预测值，平均误差率控制在8%以内，考虑非线性因素影响"
            },
            {
              "id": 2,
              "title": "用户画像分类",
              "input": "用户 demographic 数据、行为日志、偏好标签，运用随机森林进行多类别用户分群",
              "output": "用户类别预测，识别潜在高价值用户群体，支持精准营销"
            }
          ],
          "hasApplications": true,
          "applications": [

            {
              "title": "金融反欺诈检测",
              "description": "利用随机森林处理交易特征，识别异常模式，实时预警欺诈行为",
              "accuracy": "85%",
              "responseTime": "实时",
              "organization": "银行和支付机构"
            }
          ],
          "advantages": "训练过程高度并行化，抗噪声能力强；提供特征重要性排序；对数据分布要求低，无需复杂预处理；在中小型数据集上表现稳定[5](@ref)",
          "limitations": "树数量多时内存消耗较大；预测过程不如单一决策树快速；对极高维稀疏数据效果可能下降[2](@ref)"
        },
        {
          "id": 55,
          "name": "逻辑回归",
          "logo": "G",
          "modelType": "传统机器学习",
          "type": "分类分析",
          "scenarios": ["二分类问题", "概率预测"],
          "supportDeployment": true,
          "description": "用于分类问题的回归方法，通过逻辑函数将线性回归结果映射到概率空间，适用于二分类和多分类任务。",
          "company": "学术界",
          "versions": "经典算法",
          "color": "flat-orange",
          "isHot": true,

          "introduction": "逻辑回归是一种广泛应用于分类问题的统计学习方法，虽名称中含“回归”二字，实则为分类算法。它通过sigmoid函数将线性模型的输出映射到[0,1]概率区间，从而估计事件发生的可能性。逻辑回归具有数学优雅、可解释性强、计算效率高等优点，在金融、医疗、营销等领域成为基础且重要的分类工具。[6](@ref)",
          "rating": 4.0,
          "accuracy": 82,
          "responseTime": "0.1s",
          "industryComparison": 7.0,
          "speedImprovement": 10,
          "efficiency": 95,
          "scalability": "高",
          "scalabilityPercentage": 90,
          "scalabilityDescription": "模型简单，计算效率高，易于分布式实现，适合处理大规模数据集，可通过随机梯度下降进一步优化[6](@ref)",
          "architecture": "逻辑回归核心是通过线性组合z = wX + b计算输入特征的加权和，然后应用sigmoid函数σ(z) = 1/(1+e^(-z))将z映射为概率值。模型训练采用最大似然估计原则，通过梯度下降等优化算法学习权重参数w和偏置b，使预测概率与实际标签的似然函数最大化。损失函数通常使用交叉熵损失。[6](@ref)",
          "technologies": ["sigmoid函数", "最大似然估计", "梯度下降", "正则化", "概率校准", "多分类扩展"],
          "minGPU": "不要求",
          "minCPU": "2核心",
          "minMemory": "2GB",
          "recommendedGPU": "不要求",
          "recommendedCPU": "4核心",
          "recommendedMemory": "8GB",
          "highEndGPU": "不要求",
          "highEndCPU": "8核心",
          "highEndMemory": "16GB",
          "features": [
            {
              "title": "概率输出",
              "description": "直接输出类别概率而非硬分类结果，为基于概率的决策提供灵活性，适合风险评估场景[6](@ref)"
            },
            {
              "title": "强可解释性",
              "description": "模型参数对应特征权重，可直观解释每个特征对结果的影响程度，支持业务决策[6](@ref)"
            },
            {
              "title": "高效训练",
              "description": "损失函数光滑可导，优化收敛快，计算复杂度低，适合大规模数据在线学习[6](@ref)"
            },
            {
              "title": "多分类扩展",
              "description": "通过One-vs-Rest或Softmax扩展轻松处理多分类问题，保持算法简洁性"
            }
          ],
          "datasets": [
            {
              "name": "低维结构化数据",
              "description": "特征维度适中、线性可分性较好的数据集，适合逻辑回归的线性决策边界",
              "samples": "100,000+记录",
              "format": "CSV/表格数据",
              "public": true
            },
            {
              "name": "金融信用数据",
              "description": "用户征信记录、还款历史等风险特征，利用逻辑回归预测违约概率",
              "samples": "50,000+记录",
              "format": "结构化数据",
              "public": false
            },

          ],
          "examples": [
            {
              "id": 1,
              "title": "信用评分卡模型",
              "input": "用户收入、负债、历史信用等线性特征，通过逻辑回归计算违约概率[6](@ref)",
              "output": "二分类违约预测结果，输出概率可用于风险定价和额度审批"
            },
            {
              "id": 2,
              "title": "垃圾邮件识别",
              "input": "邮件文本特征、发件人信誉、历史行为等指标，运用逻辑回归进行二分类",
              "output": "垃圾邮件概率评分，结合阈值过滤实现高效过滤"
            },

          ],
          "hasApplications": true,
          "applications": [
            {
              "title": "银行信贷审批系统",
              "description": "基于逻辑回归的自动化评分模型，快速评估客户信用风险，提高审批效率",
              "accuracy": "80%",
              "responseTime": "毫秒级",
              "organization": "商业银行和信贷机构"
            },
            {
              "title": "内部风险控制（员工行为初筛）",
              "description": "基于逻辑回归构建员工行为合规性初筛模型，对内部系统访问日志、考勤数据等进行简单线性分析，快速识别潜在违规行为概率，筑牢内部防线。",
              "accuracy": "79%",
              "responseTime": "实时",
              "organization": "人民银行内审部门"
            }
          ],
          "advantages": "模型简单可解释，训练速度快，对计算资源要求低；直接输出概率值，适合排序任务；对线性可分问题效果良好[6](@ref)",
          "limitations": "无法自动捕捉特征间复杂交互效应；对非线性问题需要人工特征工程；对多重共线性数据敏感[6](@ref)"
        }
        // 其他模型数据也按照相同方式补充...
      ],
    }
  },
  created() {
    this.modelId = parseInt(this.$route.params.id);
    this.loadModelData();
  },
  methods: {
    handleLogin() {
      this.isLoggedIn = true;
    },
    goToConsole() {
      // 跳转到控制台逻辑
    },
    toggleTheme() {
      this.themeIcon = this.themeIcon === 'light' ? 'dark' : 'light';
      this.$emit('toggle-theme');
    },

    // 加载模型数据
    loadModelData() {
      this.currentModel = this.allModels.find(model => model.id === this.modelId);
      if (!this.currentModel) {
        this.$router.push('/model-intro/language');
        return;
      }
    },

    // 获取logo颜色类
    getLogoColorClass(id) {
      const colors = ['flat-blue', 'flat-green', 'flat-orange', 'flat-cyan', 'flat-purple', 'flat-red', 'flat-teal', 'flat-indigo'];
      return colors[id % colors.length];
    },

    // 处理部署操作 - 修改为弹出提示
    handleDeploy() {
      alert('请联系科技处');
    },

    // 处理测试操作
    handleTest() {
      console.log('测试模型:', this.currentModel.name);
      // 这里可以添加测试逻辑
    },

    // 获取模型介绍
    getModelIntroduction(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.introduction || model?.description || '暂无介绍';
    },

    // 获取模型特点
    getModelFeatures(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.features || [
        { title: "高性能", description: "具有优秀的计算性能和推理速度" },
        { title: "易用性", description: "提供友好的API和详细的文档支持" },
        { title: "可扩展", description: "支持分布式部署和水平扩展" }
      ];
    },

    // 获取模型评分
    getModelRating(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.rating || 4.5;
    },

    // 获取模型准确率
    getModelAccuracy(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.accuracy || 90;
    },

    // 获取模型响应时间
    getModelResponseTime(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.responseTime || "2.0s";
    },

    // 获取行业比较数据
    getIndustryComparison(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.industryComparison || 5.0;
    },

    // 获取速度百分比
    getSpeedPercentage(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.speedImprovement || 30;
    },

    // 获取速度提升
    getSpeedImprovement(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.speedImprovement || 30;
    },

    // 获取效率评级
    getEfficiencyRating(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.efficiency || 75;
    },

    // 获取可扩展性级别
    getScalabilityLevel(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.scalability || "中";
    },

    // 获取可扩展性百分比
    getScalabilityPercentage(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.scalabilityPercentage || 80;
    },

    // 获取可扩展性描述
    getScalabilityDescription(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.scalabilityDescription || "适合标准部署环境";
    },

    // 获取技术架构描述
    getArchitectureDescription(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.architecture || "先进的机器学习架构，经过优化设计";
    },

    // 获取相关技术
    getTechnologies(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.technologies || ["机器学习", "人工智能", "数据分析"];
    },

    // 获取硬件要求
    getMinGPURequirement(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.minGPU || "8GB";
    },

    getMinCPURequirement(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.minCPU || "4核心";
    },

    getMinMemoryRequirement(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.minMemory || "16GB";
    },

    getRecommendedGPURequirement(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.recommendedGPU || "12GB";
    },

    getRecommendedCPURequirement(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.recommendedCPU || "8核心";
    },

    getRecommendedMemoryRequirement(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.recommendedMemory || "32GB";
    },

    getHighEndGPURequirement(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.highEndGPU || "24GB";
    },

    getHighEndCPURequirement(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.highEndCPU || "16核心";
    },

    getHighEndMemoryRequirement(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.highEndMemory || "64GB";
    },

    // 获取数据集信息
    getDatasets(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.datasets || [
        {
          name: "通用训练数据",
          description: "适用于该类型模型的通用训练数据集",
          samples: "视具体需求而定",
          format: "多种格式",
          public: true
        }
      ];
    },

    // 获取示例
    getExamples(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.examples || [
        {
          id: 1,
          title: "通用示例",
          input: "示例输入数据",
          output: "模型处理后的输出结果"
        }
      ];
    },

    // 显示应用案例章节的条件
    showApplicationsSection(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.hasApplications || false;
    },

    // 获取实际应用案例
    getApplications(modelId) {
      const model = this.allModels.find(m => m.id === modelId);
      return model?.applications || [];
    }
  },
  watch: {
    '$route.params.id': function(newId) {
      this.modelId = parseInt(newId);
      this.loadModelData();
    }
  }
}
</script>

<style scoped>
/* 样式部分 - 针对Chrome 75兼容性修改 */
.model-detail {
  background-color: #f8fafc;
  min-height: 100vh;
  padding-top: 80px;
  font-size: 16px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.breadcrumb {
  background: white;
  border-bottom: 1px solid #e5e7eb;
  padding: 16px 0;
}

.breadcrumb-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  font-size: 15px;
}

.breadcrumb-link {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  color: #6b7280;
  text-decoration: none;
  -webkit-transition: color 0.2s;
  -moz-transition: color 0.2s;
  -o-transition: color 0.2s;
  transition: color 0.2s;
}

.breadcrumb-link:hover {
  color: #3b82f6;
}

.breadcrumb-separator {
  color: #d1d5db;
  margin: 0 8px;
}

.breadcrumb-current {
  color: #374151;
  font-weight: 500;
}

.detail-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 30px 20px;
}

.model-header-section {
  background: white;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
  padding: 30px;
  margin-bottom: 24px;
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  border: 1px solid #e5e7eb;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

.model-basic-info {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.model-logo {
  width: 80px;
  height: 80px;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  color: white;
  font-weight: bold;
  font-size: 55px;
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  margin-right: 20px;
}

.model-logo-image {
  width: 80px;
  height: 80px;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  overflow: hidden;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
  margin-right: 20px;
}

.model-logo-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.model-title-section {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.model-name {
  font-size: 34px;
  font-weight: 700;
  color: #000000;
  margin: 0 0 12px 0;
}

.model-meta {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.model-type-tag, .category-tag, .deployment-tag {
  padding: 4px 12px;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
  margin-right: 8px;
  margin-bottom: 8px;
}

.model-type-tag {
  background: #dbeafe;
  color: #1e40af;
}

.category-tag {
  background: #f0fdf4;
  color: #166534;
}

.deployment-tag {
  background: #dcfce7;
  color: #166534;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
}

.header-actions {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

.primary-button {
  background: #3b82f6;
  color: white;
  border: 1px solid #3b82f6;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  padding: 10px 20px;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
}

.primary-button:hover {
  background: #2563eb;
  border-color: #2563eb;
}

.detail-body-full {
  width: 100%;
}

.detail-section {
  background: white;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 24px;
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  border: 1px solid #e5e7eb;
}

.section-title {
  font-size: 22px;
  font-weight: 600;
  color: #000000;
  margin: 0 0 16px 0;
  padding-bottom: 12px;
  border-bottom: 1px solid #f1f5f9;
}

/* 修改Grid布局为Flexbox布局 */
.intro-features-grid {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: -12px;
}

.intro-card, .features-card {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-width: 300px;
  margin: 12px;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #e5e7eb;
}

.intro-header, .features-header {
  background: #f8fafc;
  padding: 16px 20px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  border-bottom: 1px solid #e5e7eb;
}

.intro-header h3, .features-header h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  color: #000000;
}

.intro-content {
  padding: 20px;
}

.model-introduction {
  margin-top: 12px;
  color: #6b7280;
  font-size: 16px;
  line-height: 1.6;
}

.model-stats {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #f1f5f9;
}

.stat-item {
  text-align: center;
}

.stat-value {
  font-size: 26px;
  font-weight: 700;
  color: #3b82f6;
  display: block;
}

.stat-label {
  font-size: 13px;
  color: #6b7280;
  margin-top: 4px;
}

.features-content {
  padding: 0;
}

.feature-item {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  padding: 16px 20px;
  border-bottom: 1px solid #f1f5f9;
  -webkit-transition: background 0.2s;
  -moz-transition: background 0.2s;
  -o-transition: background 0.2s;
  transition: background 0.2s;
}

.feature-item:last-child {
  border-bottom: none;
}

.feature-item:hover {
  background: #f8fafc;
}

.feature-text {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.feature-title {
  font-size: 16px;
  font-weight: 600;
  color: #000000;
}

.feature-desc {
  font-size: 15px;
  color: #6b7280;
  line-height: 1.4;
}

/* 修改性能指标Grid为Flexbox */
.performance-metrics {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: -10px;
}

.metric-card {
  width: calc(50% - 20px);
  margin: 10px;
  border: 1px solid #e5e7eb;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  padding: 20px;
  background: white;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.metric-header {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  margin-bottom: 16px;
}

.metric-icon {
  width: 36px;
  height: 36px;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  color: white;
  font-weight: bold;
  font-size: 16px;
  margin-right: 12px;
}

.metric-icon.accuracy { background: #10b981; }
.metric-icon.speed { background: #3b82f6; }
.metric-icon.efficiency { background: #f59e0b; }
.metric-icon.scalability { background: #8b5cf6; }

.metric-title {
  font-size: 17px;
  font-weight: 600;
  color: #000000;
}

.metric-value {
  font-size: 30px;
  font-weight: 700;
  color: #000000;
  margin-bottom: 12px;
}

.metric-chart {
  margin-bottom: 8px;
}

.chart-bar {
  height: 8px;
  background: #f1f5f9;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  overflow: hidden;
}

.chart-fill {
  height: 100%;
  background: #3b82f6;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-transition: width 1s ease-in-out;
  -moz-transition: width 1s ease-in-out;
  -o-transition: width 1s ease-in-out;
  transition: width 1s ease-in-out;
}

.metric-comparison {
  font-size: 13px;
  color: #6b7280;
}

/* 修改使用场景Grid为Flexbox */
.scenarios-grid {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: -6px;
}

.scenario-card {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  padding: 12px;
  background: #f8fafc;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
  margin: 6px;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-width: 200px;
}

.scenario-text {
  font-size: 15px;
  color: #374151;
  font-weight: 500;
}

.architecture-content {
  margin-top: 16px;
}

.architecture-content p {
  color: #4b5563;
  line-height: 1.6;
  margin-bottom: 16px;
  font-size: 16px;
}

.architecture-tags {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.tech-tag {
  background: #e0e7ff;
  color: #3730a3;
  padding: 6px 12px;
  -webkit-border-radius: 16px;
  -moz-border-radius: 16px;
  border-radius: 16px;
  font-size: 15px;
  font-weight: 500;
  margin-right: 8px;
  margin-bottom: 8px;
}

.process-flow-horizontal {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  margin-top: 20px;
  overflow-x: auto;
  padding: 10px 0;
}

.process-step-horizontal {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-width: 200px;
  position: relative;
}

.step-number-horizontal {
  width: 40px;
  height: 40px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background: #3b82f6;
  color: white;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  font-weight: 600;
  font-size: 18px;
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
  z-index: 2;
}

.step-content-horizontal {
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  padding: 16px;
  margin-left: 16px;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-height: 100px;
  position: relative;
}

.step-content-horizontal::before {
  content: '';
  position: absolute;
  left: -8px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-right: 8px solid #e5e7eb;
}

.step-content-horizontal::after {
  content: '';
  position: absolute;
  left: -7px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-right: 8px solid #f8fafc;
}

.step-title-horizontal {
  font-size: 17px;
  font-weight: 600;
  color: #000000;
  margin: 0 0 8px 0;
}

.step-description-horizontal {
  font-size: 15px;
  color: #6b7280;
  margin: 0;
  line-height: 1.5;
}

/* 修改硬件要求Grid为Flexbox */
.hardware-requirements {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: -10px;
}

.requirement-category {
  width: calc(33.333% - 20px);
  margin: 10px;
  border: 1px solid #e5e7eb;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  padding: 16px;
  background: white;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.requirement-category h3 {
  margin: 0 0 16px 0;
  font-size: 17px;
  font-weight: 600;
  color: #000000;
  text-align: center;
  padding-bottom: 8px;
  border-bottom: 1px solid #f1f5f9;
}

.req-items {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.req-item {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
  margin-bottom: 12px;
}

.req-item:last-child {
  margin-bottom: 0;
}

.req-label {
  color: #6b7280;
  font-size: 15px;
}

.req-value {
  color: #374151;
  font-weight: 500;
  font-size: 15px;
}

.dataset-table-container {
  overflow-x: auto;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
}

.dataset-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
}

.dataset-table th {
  background: #f8fafc;
  padding: 12px 16px;
  text-align: left;
  font-weight: 600;
  color: #374151;
  border-bottom: 1px solid #e5e7eb;
}

.dataset-table td {
  padding: 12px 16px;
  border-bottom: 1px solid #f1f5f9;
  color: #4b5563;
}

.dataset-table tr:last-child td {
  border-bottom: none;
}

.dataset-name {
  font-weight: 500;
  color: #000000;
}

.public-badge {
  padding: 4px 8px;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 500;
}

.public-badge.public {
  background: #dcfce7;
  color: #166534;
}

.public-badge.private {
  background: #fef3c7;
  color: #92400e;
}

.result-examples {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.example-card {
  border: 1px solid #e5e7eb;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 20px;
}

.example-card:last-child {
  margin-bottom: 0;
}

.example-title {
  background: #f8fafc;
  padding: 12px 16px;
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #000000;
  border-bottom: 1px solid #e5e7eb;
}

.example-content {
  padding: 16px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.input-section, .output-section {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  margin-bottom: 12px;
}

.input-section:last-child, .output-section:last-child {
  margin-bottom: 0;
}

.input-section h4, .output-section h4 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #374151;
}

.input-text, .output-text {
  background: #f8fafc;
  padding: 12px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  font-size: 15px;
  line-height: 1.5;
  color: #4b5563;
  white-space: pre-wrap;
}

.output-text {
  background: #f0fdf4;
  border-left: 3px solid #10b981;
}

.loading-container {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  padding: 60px 20px;
}

.loading-spinner {
  width: 40px;
  height: 40px;
  border: 4px solid #f1f5f9;
  border-left: 4px solid #3b82f6;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-animation: spin 1s linear infinite;
  -moz-animation: spin 1s linear infinite;
  animation: spin 1s linear infinite;
  margin-bottom: 16px;
}

@-webkit-keyframes spin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@-moz-keyframes spin {
  0% { -moz-transform: rotate(0deg); }
  100% { -moz-transform: rotate(360deg); }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.applications-content {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.application-card {
  border: 1px solid #e5e7eb;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  padding: 16px;
  background: #f8fafc;
  margin-bottom: 16px;
}

.application-card:last-child {
  margin-bottom: 0;
}

.application-card h3 {
  margin: 0 0 8px 0;
  font-size: 17px;
  font-weight: 600;
  color: #000000;
}

.application-card p {
  margin: 0 0 12px 0;
  color: #4b5563;
  line-height: 1.5;
  font-size: 15px;
}

.application-stats {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.application-stats .stat {
  font-size: 13px;
  color: #6b7280;
  background: white;
  padding: 4px 8px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  border: 1px solid #e5e7eb;
  margin-right: 16px;
  margin-bottom: 8px;
}

.flat-blue { background-color: #3b82f6; }
.flat-green { background-color: #10b981; }
.flat-orange { background-color: #f59e0b; }
.flat-cyan { background-color: #06b6d4; }
.flat-purple { background-color: #8b5cf6; }
.flat-red { background-color: #3b82f6; }
.flat-teal { background-color: #14b8a6; }
.flat-indigo { background-color: #6366f1; }

/* 响应式设计 */
@media (max-width: 968px) {
  .intro-card, .features-card {
    min-width: 100%;
    margin-bottom: 24px;
  }

  .metric-card {
    width: calc(100% - 20px);
  }

  .requirement-category {
    width: calc(100% - 20px);
  }

  .process-flow-horizontal {
    -webkit-flex-direction: column;
    flex-direction: column;
  }

  .process-step-horizontal {
    min-width: 100%;
    margin-bottom: 20px;
  }
}

@media (max-width: 768px) {
  .model-header-section {
    -webkit-flex-direction: column;
    flex-direction: column;
  }

  .header-actions {
    width: 100%;
    -webkit-justify-content: stretch;
    justify-content: stretch;
    margin-top: 20px;
  }

  .primary-button {
    width: 100%;
    -webkit-justify-content: center;
    justify-content: center;
  }

  .scenario-card {
    min-width: calc(50% - 12px);
  }

  .model-basic-info {
    -webkit-flex-direction: column;
    flex-direction: column;
    text-align: center;
  }

  .model-logo, .model-logo-image {
    margin-right: 0;
    margin-bottom: 16px;
  }
}

@media (max-width: 480px) {
  .model-meta {
    -webkit-justify-content: center;
    justify-content: center;
  }

  .application-stats {
    -webkit-flex-direction: column;
    flex-direction: column;
  }

  .application-stats .stat {
    margin-right: 0;
    margin-bottom: 8px;
  }

  .scenario-card {
    min-width: 100%;
  }
}

:deep(.navbar) {
  /* 确保 NavBar 样式不被覆盖 */
}

:deep(.footer) {
  /* 确保 Footer 样式不被覆盖 */
}
</style>
